package com.atguigu.registration.order.service;

import com.atguigu.registration.model.order.OrderInfo;
import com.atguigu.registration.model.user.UserInfo;
import com.atguigu.registration.vo.order.OrderCountQueryVo;
import com.atguigu.registration.vo.order.OrderQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * @Author: Jiang Yizhi
 * @Date: 2022/5/10 9:11 PM
 */
public interface OrderService extends IService<OrderInfo> {
    /** 生成挂号订单 */
    Long saveOrder(String scheduleId, Long patientId);

    /** 根据订单id生成订单详情 */
    OrderInfo getOrder(String orderId);

    /** 订单列表，条件查询带分页 */
    IPage<OrderInfo> selectPage(Page<OrderInfo> pageParam, OrderQueryVo orderQueryVo);

    /** 取消预约 */
    Boolean candelOrder(Long orderId);

    /** 就诊通知 */
    void patientTips();

    /** 预约统计 */
    Map<String, Object> getCountMap(OrderCountQueryVo orderCountQueryVo);

}
